package com.info33.platform.system.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.info33.platform.common.mvc.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 系统 - 菜单
 *
 * @author admin
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SysMenu extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "父 id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long pid;

    @ApiModelProperty(value = "类型")
    private String type;

    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "级别")
    private Integer level;

    @ApiModelProperty(value = "权限字符串")
    private String permission;

    @ApiModelProperty(value = "图标")
    private String icon;

    @ApiModelProperty(value = "菜单分组卡片背景")
    private String groupBg;
    
    @ApiModelProperty(value = "快捷应用入口背景")
    private String quickBg;

    @ApiModelProperty(value = "链接地址")
    private String action;

    @ApiModelProperty(value = "组件名")
    private String component;

    @ApiModelProperty(value = "外链地址")
    private String linkUrl;

    @ApiModelProperty(value = "是否打开新页面")
    private Boolean target;

    @ApiModelProperty(value = "是否展示")
    private Boolean visible;

    @ApiModelProperty(value = "表单 id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long modId;
    
    @ApiModelProperty(value = "路由参数")
    private String routerParams;

}